package com.ccys.db.mapper;

import com.ccys.db.dto.userManagement.DoctorDto;
import com.ccys.db.entity.TblDoctor;
import com.ccys.db.vo.app.doctorList.GetDoctorDetailMakeVo;
import com.ccys.db.vo.doctor.doctorConsultStage.GetFavouritePrescriptionVo;
import com.ccys.db.vo.doctor.login.ProfileVo;
import com.ccys.db.vo.userManagement.*;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

import java.util.List;

/**
 * Created by Mybatis Generator on 2023/12/15
 */
public interface TblDoctorMapper extends Mapper<TblDoctor>, MySqlMapper<TblDoctor> {
    List<DoctorPageQueryVo> findPageDoctor(DoctorDto dto);

    List<DoctorAppointmentSettingFindListVo> findListDoctorSchedule(DoctorDto dto);

    /**
     * 根据医生ID查询医生详情信息
     *
     * @param doctorId
     * @return
     */
    DoctorDetailsVo findDoctorDetailsByDoctorId(@Param("doctorId") String doctorId);

    /**
     * @description 查询下拉选择医生列表
     * @date 2023/12/27
     * @author cloud fly
     */
    List<DoctorSelectWebVO> listSelect(DoctorDto dto);

    /**
     * member查看医生详情的接口
     *
     * @param doctorId 医生id
     * @return
     */
    GetDoctorDetailMakeVo getDoctorDetail(@Param("doctorId") String doctorId,@Param("memberId") String memberId);

    List<DoctorFindListSelectVo> findListByCountryId(DoctorDto dto);

    ProfileVo selectDoctorProfile(@Param("doctorId")String doctorId);

    List<GetFavouritePrescriptionVo> getFavouritePrescription(@Param("doctorId") String doctorId);
}